package com.uidt.project.ptsj.mapper;

import com.uidt.project.ptsj.domain.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Component
public interface ScreenCountMapper {
    List<CountItem> getEventSourceCount(@Param("gxdwdmList") List<String> gxdwdmList);

    List<Map<String,String>> getEventDepartmentDoneCount(@Param("gxdwdmList") List<String> gxdwdmList);

    List<Map<String,String>> getEventDepartmentUnDoneCount(@Param("gxdwdmList") List<String> gxdwdmList);

    List<CountItem> getProcessCount();

    List<EventInfo> listEvent(@Param("gxdwdmList") List<String> gxdwdmList, @Param("type") String type);

    Integer getInspectionCount(@Param("gxdwdmList") List<String> gxdwdmList);

    Integer getXfzcCount(@Param("gxdwdmList") List<String> gxdwdmList);

    List<CountItem> getInspectionDepartmentCount(@Param("gxdwdmList") List<String> gxdwdmList);

    List<Inspection> listLastInspection(@Param("gxdwdmList") List<String> gxdwdmList);

    CountItem getRoomCount(@Param("gxdwdmList") List<String> gxdwdmList);

    CountItem getPlaceCount(@Param("gxdwdmList") List<String> gxdwdmList);

    List<CountItem> getScoreList(@Param("gxdwdmList") List<String> gxdwdmList);

    CountItem selectScoreMax(@Param("gxdwdmList") List<String> gxdwdmList);
    CountItem selectScoreMin(@Param("gxdwdmList") List<String> gxdwdmList);

    HashMap<String, BigDecimal> getColorCount(@Param("gxdwdmList") List<String> gxdwdmList);

    List<CountItem> getStatusCount();

    List<Map<String,String>> getStarsCount(@Param("gxdwdmList") List<String> gxdwdmList);

    List<Warning> getWarningList();

    /*根据区县分组，计算场所数量*/
    List<Map<String,String>> getPlaceCountGroupByGxdm();

    /*根据区县分组，计算房源数量*/
    List<Map<String,String>> getHouseCountGroupByGxdm();

    /*根据区县分组，计算经营主体数量*/
    List<Map<String,String>> getOwnerCountGroupByGxdm();

    /*根据区县分组，计算当日入住数量*/
    List<Map<String,String>> getRzCountGroupByGxdm();

    /*根据派出所分组，计算场所数量*/
    List<Map<String,String>> getPlaceCountGroupByGxdmAll(@Param("gxdwdm") String gxdwdm);

    /*根据派出所分组，计算房源数量*/
    List<Map<String,String>> getHouseCountGroupByGxdmAll(@Param("gxdwdm") String gxdwdm);

}
